package com.gaofans.nrpc.common.filter;

import com.gaofans.nrpc.common.protocol.Message;
import reactor.core.publisher.Mono;

/**
 * @author GaoFans
 */
public interface  Filter<T extends Message> {

    /**
     * 执行过滤器
     * @param request
     * @param chain
     * @return
     */
    Mono<Void> filter(T request,FilterChain<T> chain);

}
